package com.youth.youthservice.service;

import com.youth.commonutils.R;
import com.youth.youthservice.entity.announcement.Announcement;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youth.youthservice.entity.vo.annoVo.AnnoUserQuery;
import com.youth.youthservice.entity.vo.annoVo.AnnounceQuery;
import com.youth.youthservice.entity.vo.annoVo.AnnouncementVo;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author huangqicai
 * @since 2023-03-22
 */
public interface AnnouncementService extends IService<Announcement> {

    /*发布公告*/
    R publish(AnnouncementVo announcement);

    R selectCourseStu();

    R selectPage(long current, long limit, AnnounceQuery announceQuery);

    /*删除公告执行的方法*/
    R deleteAnno(String annoId);

    /*根据公告id查询公告详细信息*/
    R selectInfo(String annoId);

    /*根据公告id查询公告对象的集合-(条件查询)*/
    R selectUsers(String annoId, AnnoUserQuery annoUserQuery);

    /*根据手机号发送短信，提醒用户*/
    R sendMsmToStu(String phone);

    /*更新公告信息执行的方法*/
    R updateAnno(String annoId, AnnouncementVo announcementVo);

    /*根据用户id得到公告列表*/
    R selectListAnno(long current, long limit, AnnounceQuery announceQuery, HttpServletRequest request);


}
